pairdiff                package:-               R Documentation


Calculo da diferenca media de atributos entre pares de elementos que interagem e de sua 
probabilidade de ocorrencia. 


Description:

Para dois conjuntos de elementos que interagem em pares e que podem manter ou perder a interacao 
ao longo do tempo, a funcao deve calcular a diferenca media entre atributos quantitativos dos 
elementos pareados associada a manutencao e a perda da interacao. Alem disso, a funcao deve 
calcular a probabilidade de as diferencas medias observadas nos dois casos ocorrerem ao acaso. 
Para cada atributo, um histograma com a distribuicao simulada de diferencas medias, contendo a 
indicacao das diferencas observadas para interacoes do tipo 01 e do tipo 02, sera gerado.


Usage:

pairdiff(i, a, nsim = 1000, teste = "menor", graf = c(1,1), col = c("red, "blue"))


Arguments:

 i	Matriz de interacao cujas linhas correspondem ao primeiro conjunto de elementos e as 
	colunas ao segundo conjunto. Quando nao ha interacao entre os elementos dos dois 
	conjuntos, a celula da matriz referente a linha e a coluna dos elementos em questao deve
	estar preenchida com o valor 0. Quando ha interacao e esta nao foi mantida ao final do 
	intervalo considerado, a celula deve ser preenchida com 1 (interacao tipo 01). Quando ha 
	interacao e esta foi mantida, a celula deve ser preenchida com 2 (interacao tipo 02).

a	Matriz ou data frame no qual as linhas correspondem aos elementos dos dois conjuntos e 
	as colunas correspondem a cada um dos atributos considerados. As celulas devem ser
	preenchidas com o valor de cada atributo para o elemento da linha correspondente. 

nsim	Numero de ciclos de simulacao, sendo que em cada ciclo gera-se um valor de diferenca
	media entre os elementos de um par para cada atributo. Em cada ciclo, os valores de cada 
	atributo sao embaralhados entre os elementos e as diferencas medias entre os valores de 
	atributo dos elementos de um par interagente sao calculadas. Default de 1000 ciclos de 
	simulacao. 
	
teste	Teste logico usado no calculo da probabilidade de as diferencas medias observadas entre
	elementos pareados serem geradas ao acaso. Se teste = "menor" (default), calcula-se a 
	probabilidade de: a) diferencas medias IGUAIS OU MENORES que as observadas para interacoes
	do tipo 01 ocorrerem em uma distribuicao ao acaso e b) diferencas medias MAIORES que as
 	observadas para interacoes do tipo 02 ocorrerem em uma distribuicao ao acaso. Se teste = 
	"maior", calcula-se a probabilidade de: a) diferencas medias IGUAIS OU MAIORES que as 
	observadas para interacoes do tipo 01 ocorrerem em uma distribuicao ao acaso e b) 
	diferenas medias MENORES que as observadas para interacoes do tipo 02 ocorrerem em uma 
	distribuicao ao acaso.

graf	Vetor numerico cujas posicoes determinam, respectivamente, o numero de linhas e colunas da
	janela grafica na qual os histogramas serao gerados. Se graf = c(1,1) (default), uma janela 
	grafica sera aberta para cada histograma. Caso contrrio, o usuario deve fornecer um conjunto 
	que permita a construcao de todos os histogramas em APENAS UMA janela. 

col	Vetor da classe "character" cujas posicoes determinam, respectivamente, a cor de indicacao
	das diferencas observadas para interacoes do tipo 01 e do tipo 02. 
	

Details:

Os objetos "i" e "a" e os argumento "nsim" e "teste" devem ser obrigatoriamente fornecidos para a 
execucao da funcao.


Value:

A funcao retorna:

	Um histograma para cada atributo, com a distribuicao simulada de diferencas medias e a 
	indicacao das diferencas observadas para interacoes do tipo 01 e do tipo 02. (Ver 
	"Arguments":'graf' para disposicao dos histogramas).	

	Um lista contendo:

  	comp1: 	Data frame com informacoes gerais sobre a matriz de interacoes, com: I) numero de 
		elementos do conjunto 1, II) numero de elementos do conjunto 2, III) numero de 
		pares de interacao do tipo 01, IV) numero de pares de interacao do tipo 02. 

  	comp2: 	Data frame com informacoes gerais sobre as diferencas medias entre elementos 
                pareados. Cada coluna corresponde a um atributo e as linhas correspondem a: 
                I) diferenca media observada para pares de interacao do tipo 01, II) diferenca 
		media observada para pares de interacao do tipo 02, III) media das diferencas 
		medias simuladas, IV) desvio padrao das diferencas medias simuladas , V) probabilidade
		de a diferenca media observada para interacao do tipo 01 ocorrer na distribuicao ao 
		acaso, e VI) probabilidade de a diferenca media observada para interacao do tipo 02 
		ocorrer na distribuicao ao acaso. 

	comp3: 	Ocorrencia de NA no objeto "a", indicando a linha e a coluna de ocorrencia. Esse
		componente so e retornado se houver NA no objeto. 	
	
	comp4: 	Ocorrencia de NA no objeto "i", indicando a linha e a coluna de ocorrencia. Esse
		componente so e retornado se houver NA no objeto. 

     
Warnings:

A funcao e interrompida e retorna mensagens de erro se o objeto "i" nao for matriz, o objeto "a"
nao for um data frame ou uma matriz, o argumento "teste" nao for "menor" ou "maior" e se os 
argumentos "graf" e/ou "col" nao tiverem o comprimento correto. 


Notes:

Para melhor visualizacao dos histogramas, recomenda-se abrir uma janela grafica. No Windows, use o
comando x11(), por exemplo. Para entender os parametros da janela grafica, veja: "Arguments: 'graf'.

A funcao aceita objetos de entrada que contenham valores NA. No entanto, pares em que o valor de um
dado atributo seja NA para ao menos um dos elementos serao excluidos do calculo da diferenca media
para o atributo em questao.


Author(s):

Luanne Caires
lcaires@usp.br

Sao Paulo, 14 de maio de 2016. 


References:

Valiente-Banuet et al. 2008. Temporal shifts from facilitation to competition occur between closely
related taxa. Journal of Ecology 96: 489 - 494. (para uma abordagem semelhante a da funcao, mas
utilizando distancias filogeneticas como diferencas entre pares de especies de plantas). 


See Also:

Funcoes: array(), for(), which(), mapply(), hist()


Acknowledgments:

A Rodolfo Liporoni, Vinicius Biffi e Lucas Teixeira, pelas dicas de comandos e argumentos. 


Examples:

# Criando a matriz de interacao (objeto i)
matriz.int = matrix(sample(rep(c(0,1,2), times = 6)),nrow=9,ncol=6)
colnames(matriz.int) = paste("N", 1:6)
rownames(matriz.int) = paste("F", 1:9)

# Criando a matriz de interacao com NA (objeto i)
matriz.int2 = matriz.int
matriz.int2[5, 1] = NA

# Criando o data frame de atributos (objeto a)
atributos = as.data.frame(matrix(round(runif(45,0.3,3.2),2),nrow=15,ncol=3))
rownames(atributos) = c(paste("N", 1:6), paste("F", 1:9))
colnames(atributos) = c(paste("Atributo",1:3))

# Criando o data frame de atributos com NA (objeto a)
atributos2 = atributos
atributos2[3,2] = NA


pairdiff(matriz.int, atributos)

pairdiff(matriz.int, atributos, 2000, "menor", c(2,2), c("green", "orange"))

pairdiff(matriz.int2, atributos2, 2000, "maior")